<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.数据类型
        // 基本类型 数字，字符串，布尔，undefined，null
        let num=1
        console.log('num',num)
        let food='下路'
        console.log('food',food)
        let male=false
        console.log('male',male)
        let empty=undefined
        console.log('empty',empty)
        let empty2=null
        console.log('empty2',empty2)

        // 复杂类型 对象，数组，函数
        let person={
            name:'jack',
            age:18,
            male:false,
        }
        console.log(person)

        let foods=['xix','xi','lan','hua','hua']
        console.log(foods)
        let sayHi=function(){
            console.log('momo')
        }
        sayHi()
        // let 变量 可以修改，JS中变量的直接赋值，不限制类型
        person='jack'
        console.log('person:',person)

        // const 常量 无法修改
        const pi=3.178787
        // pi=123
        const dog={
            name:'keyi',
            color:'橘黄色',
            food:['骨头','狗粮']
        }

        // const 无法重新赋值
        // dog='哈士奇'

        // 对象类型，是引用类型
        // 对象.xxx=新的值 dog 对应的地址没变
        // 修改的是 地址对应的数据中的color属性的值
        dog.color='绿色'

        // 易错点
        // 1.log 输出，可以输入多个参数用逗号隔开
        console.log('mmo'.dog)

        const cat={
            name:'布偶猫',
            // : 之后的是变量没有就报错
            food:vegetable,
        }
        // 代码写的时候可能不报错，不代表运行的时候不报错
    </script>
</body>
</html>